
package dao;

import util.DAOEvent;
import util.DAOListener;



public abstract class AbstractDAO {
    
    protected SuporteDAOEventos sp;

    public AbstractDAO(){
        sp = new SuporteDAOEventos(this);
    }
    
    protected SuporteDAOEventos getSuporteEventos(){
        return sp;
    }
    
    public void addDAOOuvinte(DAOListener d) {
        getSuporteEventos().addDAOOuvinte(d);

    }
  
    public void removeDAOOuvinte(DAOListener l){
        getSuporteEventos().removeDAOOuvinte(l);
    }
  
    public void erroField(String txt, String field) {
        getSuporteEventos().disparaDAOEvento(
                    new DAOEvent(txt, field, DAOEvent.DAO_ERROFIELD));
    }
  
  public boolean delete(Object o) {
      if(DAO.delete(o)){
            getSuporteEventos().disparaDAOEvento(
                    new DAOEvent(o, DAOEvent.DAO_DELETE));
           return true;
      }else {
          return false;
      }
   
  }
  
}
